/**
 * OneTime.java created by zhangzhidong 
 * at 下午3:04:19 2016年10月9日
 */
package algorithm;

import java.util.HashMap;
import java.util.Map;

/**
 * @author zhangzhidong<br>
 * comment generated at 2016年10月9日下午3:04:19<br>
 * 
 */
public class OneTime {

	
	 public int FirstNotRepeatingChar(String str) {
	        return get(str.toCharArray());
	    }
	    public int get(char [] arr){

	        Map<Integer,Integer> times  = new HashMap<>();
	        for(int i=0;i<arr.length;i++){
	        	int index = 0;
	            if(arr[i]>='a' && arr[i]<='z'){
	            	index =( arr[i] - 'a');
	            }else{
	            	index =( arr[i]-'A' + 26);
	            }
				int time = times.get(index)==null?1:times.get(index);
	            times.put(index,time);
	        }

	        for(int k=0;k<arr.length;k++){

	            if((int)times.get(((arr[k]>='a' && arr[k]<='z')?(arr[k]-'a'):(arr[k]-'A'+26)))==1) return k;

	        }
	        
	       return -1;
	    }
	/**
	 * 下午3:04:19 2016年10月9日
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(new OneTime().FirstNotRepeatingChar("asdSDFLJGsdfasdfljADSF"));
	}

}
